README.htmlTEXTMSIEWfi∏˜iû∏˜iûÅÅ©∫

"Uses your 3D hardware for no apparent reason!"
GLterm © 2001-2002 Michel Pollet

GLterm is a replacement for the Terminal application which ships with MacOS X. It's made to be faster, and to support more common terminal features. It supports full ANSI colors, all vt102 protocol, all DEC function keys, and a selection of useful xterm sequences.

The Big Thing is that GLterm uses X11 .bdf fonts and renders them using..OpenGL. So it's very fast... as long as you have a working 3D accelerator. It should work as intended on B&W G3 and up for desktops and on White iBook and up for laptops: ie a machine whose 3D accelerator is handled properly in OSX. To this date (April 2002) Rage II, II+, Pro are not accelerated.

My extensive tests on:

Show that it's incredibly fast and very stable on all of these machines.

Be sure to read the "Q&A" section, and the release notes!

GLterm is a $10 shareware. Registered users will get:

  • Support. Requests for support from non-registered users will have a near-zero priority.
  • Early notifications and updates. Registered users get the pre-releases, and do help setting the lists of new features, and their priorities.
  • My gratitude.

Please register to help me continue making quality programming for you!

You can register using
Kagi Secure Online Payment
Kagi Secure Online Registration

Q&A

Q:

Using OpenGL to draw text? Are you nuts?

A:

Well, OpenGL uses the graphic hardware in your mac, graphic hardware that is both vastly oversized for and vastly underused by most users, most of the time. So instead of letting it become obsolete peacefully, why not use it for something useful? Beside, it keeps your computer room warm when in use, isn't that an argument?

Q:

Why not use normal Mac fonts?

A:

Mac fonts don't have all the nifty graphic characters that a terminal emulator needs. Beside, drawing text with those fonts is slow. And the last thing I want in a terminal is antialiasing or kerning. I want a fast terminal, not one that looks like a word processor. Lastly, the "Fixed" fonts GLterm uses comes with a very small size that can't be matched by Mac fonts.

Q:

Can I make GLterm window transparent, too?

A:

No, GLterm view is made by OpenGL, outside of Quartz drawing context. So there is no transparency support. This is also why your window appears blank when collapsed in the dock.

Q:

Why aren't the page up and down key working?

A:

They work, they are normal keys used by many terminal programs. If you want to scroll in the saved lines, use shift page up/down.

Q:

How can I change the terminal window title from zsh?

A:

GLterm allows a terminal program to change the title of the window, here is what I use in my own .zshrc:

    export PS1="[%n@%m %U%~%u]%# "
    case $TERM in
    xterm*)
    precmd () {print -Pn "\e]0;%m: %~\a"}
    ;;
    esac

Q:

How can I change the terminal window title from bash?

A:

Add something like this to your .bashrc: [Thanks Michael!]

case "$TERM_PROGRAM" in
Apple_Terminal)
GLterm)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
export PS1='\!\$ '
;;
*)
export PS1='\u@\h:\W:\!\$ '
;;
esac

Q:

How can I change the terminal window title from csh/tcsh etc?

A:

You don't. You shouldn't use csh anyway. Have a look at Csh Programming Considered Harmful ... then use zsh.

Q:

Why doesn't 'ls' shows files with colors like in linux?

A:

You need GNU fileutils compiled for it to work, AFAIK, BSD(OSX) 'ls' doesn't support colors. Refers yourself to GNU repositories to get color-ls

Q:

Why a "Refresh Rate" Preference?

A:

The Refresh rate is the frequency at which GLterm checks to see if there's anything new to draw in the terminal. Smaller values will mean less frequent updates but potentially faster overall performance; bigger values will mean more updates, hence more drawing, so potentially slower performance, overall. The "Refresh Rate" Preference defaults to 15 frames per seconds. Note that it doesn't mean 15 frames will be drawn per second ó it just means the display is checked for dirty bits at that rate.

Q:

Why is the text all fuzzy?

A:

"Pixels" in the OpenGL coordinate system have a very remote correspondence to screen pixels. In fact, attempting to have a 1:1 ratio between OpenGL coordinates and screen pixels for texture boundaries (believe it or not, GLterm is drawing textured rectangles for each letter it draws) proves to be very hard. For example, ATI and nVidia have shown completely different results.

As an attempt to help control the problem, you can try using a few key combinations to nudge the 'convergence' of the texture on the screen. Note you might not get a perfect result, it depends on the card you have. A good idea is to use Pixie (in /Developer/Applications) to have a closer look. The goal when fixing the convergence is to have black pixels without 'shadows'.

  • Control-Arrow keys will nudge the texture by .005 pixels in the direction of the arrow. Pressing shift with control will nudge by .05 pixels instead - ten times as much.
  • Control-Home key will save your settings in the preferences.

Update: The fuzzyness problem has vanished for nVidia cards with MacOSX 10.1.2. It still exists on ATI cards.

Q:

Why is it slow on my super <insert a mac model here> ?

A:

Sorry, GLterm is proven to be fast on a number of graphic cards, provided that the card has a driver supporting hardware acceleration for 3D on MacOS X.

Q:

My <insert the same mac model here> HAS a graphic accelerator, it's written on the box!

A:

Having a graphic accelerator is not enough, you also need it to be supported by MacOS X. Not only in 2D (aqua drawing etc) but also in 3D.

Q:

When I try to type a <accented letter> it doesn't work, why ?

A:

GLterm handles Latin-1 translation for keyboard input and rendering. This allows for most enropean languages. GLterm doesn't support Unicode nor non-roman scripts.

Q:

Why can't I find your email address?

A:

It is a mini-quest. I'm sure anyone who downloaded and ran GLterm once will know what it's all..... about.

Warranty

GLterm doesn't come with any warranty whatsoever. Use it at your own risk. I cannot be held responsible for anything happening to you as a result of installing, possessing and/or using this software.
All trademarks mentioned are the property of their respective owners.
I know that to be trendy and all I should type this section in capital letters, but I hate my capslock key and typing all that whilst holding the shift key would tire my poor left pinky.

Acknowledgments

Revision History

Version 1.2

Changes:

Version 1.1

Changes:

Version 1.01

Interface Changes:

Version 1.0b5

Interface Changes:

Emulation Changes:

Known Issues:

Version 1.0b4

Version 1.0b3

Interface Changes:

Emulation Changes:

Known Issues:

Version 1.0b2

Interface Changes:

Emulation Changes:

Version 1.0b1

Interface Changes:

Emulation Changes:

Version 1.0d2

Version 1.0d1

™™iRI©ê¢?Â20∏ó7J∏ó#Nmichel1.3 README.html 1.1 finalH Monacoüzüz∏˜wÆ ™™i@r‰PΩZckidMWBB&MPSR2ÄˇˇVÌˇˇ^Projector Data